package com.blb.ssh.service;

import java.io.Serializable;
import java.util.List;

public interface BaseService<T> {

	/**
	 * 保存
	 * @param t
	 */
	public void save(T t);
	
	/**
	 * 更新
	 * @param t
	 */
	public void update(T t);
	
	/**
	 * 删除
	 * @param t
	 */
	public void delete(T t);
	
	/**
	 * 批量删除
	 * @param list
	 */
	public void batchDelete(List<T> list);
	
	/**
	 * 根据id查询
	 * @param id
	 * @return
	 */
	public T findById(Serializable id);
	
	/**
	 * HQL查询
	 * @param hql
	 * @param params
	 * @return
	 */
	public List<T> findByHQL(String hql, Object... params);
	

	/**
	 * 分页查询
	 * 
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	List<T> getList(int pageNo, int pageSize);

	/**
	 * 查询总条数
	 * 
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	int getCount(int pageNo, int pageSize);
}
